package com.itaem.community.modules.infrastructure.authority.service.role;

import com.baomidou.mybatisplus.extension.service.IService;
import com.itaem.community.modules.infrastructure.authority.dto.role.RoleDTO;
import com.itaem.community.modules.infrastructure.authority.dto.role.RolePermissionLinkDTO;
import com.itaem.community.modules.infrastructure.authority.entity.role.RoleEntity;

/**
 * <p>
 * 用户角色表 服务类
 * </p>
 *
 * @author tomato
 * @since 2020-10-28
 */
public interface RoleService extends IService<RoleEntity> {

    /**
     * 根据角色id获取角色信息（包括其下的各个权限）
     *
     * @param roleId 角色id
     * @return 角色信息
     */
    RoleDTO findRoleById(Integer roleId);

    /**
     * 向角色添加权限
     *
     * @param roleId 角色id
     * @param linkDto 权限内容，若id存在则直接绑定角色与权限，不存在则新建权限
     * @return 添加结果
     */
    Boolean addPermission(Integer roleId, RolePermissionLinkDTO linkDto);
}
